import java.util.Scanner;
import java.util.Arrays;
public class test {
    /*如果字符串 s 中 不存在 两个不同字符 频次 相同的情况，就称 s 是 优质字符串 。
    给你一个字符串 s，返回使 s 成为 优质字符串 需要删除的 最小 字符数。
    字符串中字符的 频次 是该字符在字符串中的出现次数。
    例如，在字符串 "aab" 中，'a' 的频次是 2，而 'b' 的频次是 1 。*/
    public static int check(String s) {
        char[] c=s.toCharArray();
        int[] a=new int[26];
        for(int i=0;i<c.length;i++){
            a[c[i]-'a']++;
        }
        Arrays.sort(a);
        int count=0;
        for(int i=24;i>=0;i--){
            while(a[i]>=a[i+1]&&a[i]>0){
                count++;
                a[i]--;
            }
        }
        return count;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String s=sc.nextLine();
        int res=check(s);
        System.out.println(res);
    }
}
